package com.boot.proofing.mpweb.base.service;/**
 * @description
 * @autor xbwu on 2018/5/25.
 */

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.boot.core.service.BaseMPService;
import com.boot.proofing.common.util.WebUtils;
import com.boot.proofing.mpweb.base.entity.User;

/**
 * 用户服务
 * @author xbwu
 * @create 2018-05-25 
 **/
public interface IUserService extends BaseMPService<User> {


    /**
     * 根据账号查找用户
     * @param account
     * @return
     */
    User findByUserAccount(String account);


    /**
     * 分页模糊搜索用户
     * @param page
     * @param keysword
     * @return
     */
    IPage<User> selectLikeForPage(Page<User> page, String keysword);

    /**
     * 覆写insertOrUpdate，禁止account做修改
     * @param entity
     * @return
     */
    @Override
    boolean saveOrUpdate(User entity);

    default User getCurrentUser(){
        return WebUtils.getUser();
    }

    /**
     * 修改密码
     * @param userId
     * @param newPassword
     * @return
     */
    boolean updatePasswordById(Long userId,String newPassword);

    /**
     * 判断新旧头像是否相同
     * @param userId
     * @param newHeadPath
     * @return
     */
    boolean headIsEquals(Long userId,String newHeadPath);
}